using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Gencode.PrsCommon.Data.Anstellung;

namespace Personalplaner
{
    [ToolboxItem(false)]
    public partial class NewAnstellung : UserControl, Gencode.Gengui.Forms.ISaveNewDialog
    {
        public NewAnstellung()
        {
            InitializeComponent();

			comboAnstellung.InitData(Verwaltung.Mandant);
        }

        private void comboAnstellung_SelectedIndexChanged(object sender, EventArgs e)
        {
			if (comboAnstellung.SelectedIndex >= 0)
			{
				txtName.Text = comboAnstellung.SelectedAnstellungName;
				txtBeschr.Text = comboAnstellung.SelectedAnstellungLangtext;
				numPrio.Value = comboAnstellung.SelectedAnstellungPrioritaet;
				numEinsPTag.Value = comboAnstellung.SelectedAnstellungEinsatzProTag;

				checkRechnen.Checked = comboAnstellung.SelectedAnstellungGerechnet;
				checkAusgelernt.Checked = comboAnstellung.SelectedAnstellungAusgelernt;
			}
        }

		#region ISaveNewDialog Members

		public void NewClicked()
		{
			comboAnstellung.SelectedIndex = -1;
			txtName.Text = "";
			txtBeschr.Text = "";
			numPrio.Value = 0;
			txtName.Focus();
		}

		#endregion

		#region ISaveDialog Members

		public void SaveClicked()
		{
			if (txtName.Text == "")
			{
				MessageBox.Show("Es ist kein Name vorhanden...", "", MessageBoxButtons.OK);
				return;
			}

			if (txtBeschr.Text == "")
			{
				MessageBox.Show("Es ist keine Beschreibung vorhanden...", "", MessageBoxButtons.OK);
				return;
			}


			if (comboAnstellung.SelectedAnstellungID > 0)
			{
				//update in db
				AnstellungData.UpdateAnstellung(comboAnstellung.SelectedAnstellungID, txtName.Text, txtBeschr.Text,
					int.Parse(numPrio.Value.ToString()), int.Parse(numEinsPTag.Value.ToString()), checkRechnen.Checked, checkAusgelernt.Checked);
			}
			else
			{
				//new
				AnstellungData.SaveNewAnstellung(txtName.Text, txtBeschr.Text,
				int.Parse(numPrio.Value.ToString()), int.Parse(numEinsPTag.Value.ToString()),
				checkRechnen.Checked, Verwaltung.Mandant, checkAusgelernt.Checked);
			}

			comboAnstellung.Text = "";
			comboAnstellung.RefreshData();

			txtName.Text = "";
			txtBeschr.Text = "";
			numPrio.Value = 0;
		}

		#endregion

		#region IDialogControl Members

		public bool OKClicked()
		{
			return true;
		}

		public bool CancleClicked()
		{
			return true;
		}

		#endregion
	}
}